import {
  Column,
  Entity,
  JoinTable,
  ManyToMany,
  PrimaryGeneratedColumn,
} from 'typeorm';
import { Flavor } from './flavor.entity';

@Entity()
export class Coffee {
  // sql table name coffee

  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  title: string;

  @Column()
  brand: string;

  @Column({ default: 0 })
  recommendations: number;

  // @Column('json', { nullable: true })
  @JoinTable() // 建立一张表，指定关系的owner端，这里Owner端是Coffee
  @ManyToMany(() => Flavor, (flavor) => flavor.coffees, {
    cascade: true,
  })
  // ManyToMany 声明关系，为双方建立关系
  // 函数1: 返回一个“相关”实体的引用
  // 函数2： 需要指定返回会的实体选择的属性，例如：Flavor实体中的Coffee是什么？
  flavors: Flavor[];
}
